import axios from "axios";
import { ElMessage } from "element-plus";
import useUserStore from "@/store/modules/user";
const request = axios.create({
    // 请求的基础路径
    baseURL: '/api',
    timeout: 5000
})
// 请求拦截器
request.interceptors.request.use((config) => {
    // config请求拦截器回调注入的对象，最重要的是headers
    // 通过请求头携带参数
    // 获取用户仓库,获取登陆后的token
    let userStore=useUserStore()
    if(userStore.userInfo.token){
        config.headers.token=userStore.userInfo.token
    }
    return config
})

// 相应拦截器
request.interceptors.response.use((response) => {
    // 响应拦截器成功的回调，一般会进行简化数据
    return response.data
}, (error) => {
    // 错误信息显示
    let status = error.response.code;
    switch (status) {
        case 404:
            // 错误提示的信息
            ElMessage({
                type: 'error',
                message: error.message
            })
            break;
        case 500 | 501 | 502 | 504 | 505:
            ElMessage({
                type: 'error',
                message: error.message
            })
            break;
        case 401:
            ElMessage({
                type: 'error',
                message: error.message
            })
            break;
    }
    // 处理http网络请求
    return Promise.reject(new Error(error.message))
})
export default request;